Java™Server Pages (JSP) is a Java™ technology that has a purpose of controlling the content or appearance of a web page by allowing developers to embed Java™ code and certain pre-defined actions into static or parameterised content or a content template. Parameterised content (or a content template) typically includes a static portion (text) and one or more placeholders that can be replaced by the web application with appropriate data. When a web application receives a request for a web page from a browser application, the web application accesses the content template, replaces all placeholders with appropriate values, and provides the resulting web page to the browser.
JSP can be used to dynamically generate HyperText Markup Language (HTML), Extensible Markup Language (XML) or other types of documents in response to a web client request. JSPs are compiled into Java™ servlets. A servlet is a small program that can be specified in the Web page. A servlet is run on a web server to modify a web page before it before it is sent over Hypertext Transfer Protocol (HTTP) to the requesting client. In order to process JSP pages, a web server needs a JSP container—the Java™ 2 Platform, Enterprise Edition (J2EE) container. The JSP container intercepts clients' requests for JSP pages, translates the intercepted JSP page into a servlet, where the JSP elements are converted into Java™ code. The container then compiles the servlet class that can be executed. The output of the execution may be an HTML file that can be provided to the requesting client. The container has to run inside a server.